home *** CD-ROM | disk | FTP | other *** search
/ Shareware Super Platinum 8 / Shareware Super Platinum 8.iso / mac / PROGTOOL / FLI106C.ZIP;1 / WINSUB.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  1992-03-12  |  1.4 KB  |  72 lines

  1. //
  2. // The Fusion Library Interface for DOS
  3. // Version 1.06c
  4. // Copyright (C) 1990, 1991, 1992
  5. // Software Dimensions
  6. //
  7. // MenuControl --> MenuItems --> FusionWindow
  8. //
  9.  
  10. #include "fliwin.h"
  11.  
  12. #ifdef __BCPLUSPLUS__
  13. #pragma hdrstop
  14. #endif
  15.  
  16. #include <alloc.h>
  17.  
  18. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  19. //
  20. // SubMenu()
  21. //
  22. // Adds a submenu
  23. //
  24. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  25.  
  26. void MenuManager::SubMenu()
  27. {
  28.   if (!NumberOfMenus ||
  29.     (NumberOfMenus && !Menus[NumberOfMenus-1]->NumberOfOptions))
  30.     return;
  31.  
  32.   MenuItems *Localize;
  33.  
  34.   if (!CurrentLevel)
  35.     Localize=Menus[NumberOfMenus-1];
  36.   else
  37.     Localize=SubMenuTrack[CurrentLevel-1];
  38.  
  39.   MenuItems &Quick=*Localize;
  40.   _Options &QuickOption=*(Quick.Option+Quick.NumberOfOptions-1);
  41.  
  42.   QuickOption.SubMenu=new MenuItems();
  43.  
  44.   SubMenuTrack=(MenuItems**)realloc(SubMenuTrack,sizeof(MenuItems*)*++CurrentLevel);
  45.   SubMenuTrack[CurrentLevel-1]=QuickOption.SubMenu;
  46.  
  47.   Localize->SubMenus++;
  48. }
  49.  
  50. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  51. //
  52. // EndSubMenu()
  53. //
  54. // Ends the addition of a submenu
  55. //
  56. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  57.  
  58. void MenuManager::EndSubMenu()
  59. {
  60.   if (!CurrentLevel)
  61.     return;
  62.  
  63.   CurrentLevel--;
  64.  
  65.   if (!CurrentLevel)
  66.   {
  67.     free(SubMenuTrack);
  68.     SubMenuTrack=0;
  69.   }
  70. }
  71.  
  72.